sessionStorage.setItem("currPage", window.location.pathname); previousPage = sessionStorage.getItem("currPage"); sessionStorage.setItem("prevPage", previousPage) window.onpageshow = function(event) { if (event.persisted && sessionStorage.getItem("prevPage") === "/thank-you/") { window.location.reload(); }; }; const faq_buttons = document.querySelectorAll('.faq-button'); const faq_answers = document.querySelectorAll('.faq-answer'); faq_buttons.forEach(el => { el.addEventListener('click', (event) => { const current_element = document.getElementById(`${el.getAttribute('aria-controls')}`); const current_element_svg = el.querySelector('svg'); if(current_element.classList.contains('hidden')){ current_element.classList.remove('hidden'); current_element_svg.classList.remove('rotate-0') current_element_svg.classList.add('-rotate-180') } else{ current_element.classList.add('hidden'); current_element_svg.classList.remove('-rotate-180') current_element_svg.classList.add('rotate-0') } faq_answers.forEach(q_el => { if(q_el != current_element){ q_el.classList.add('hidden'); q_el.closest('.pt-6').querySelector('svg').classList.remove('-rotate-180'); q_el.closest('.pt-6').querySelector('svg').classList.add('rotate-0'); } }); }) }); function onSubmitComment(token){ const form = document.getElementById('blog_comment_form'); const captcha_input = form.querySelector('input[name=captcha]'); captcha_input.value = token; const btn = form.querySelector('.js-comment-button'); const el_anim = form.querySelector('.js-btn-animation'); el_anim.classList.remove('hidden'); let csrf = form.querySelector('input[name="csrfmiddlewaretoken"]'); let xhr = new XMLHttpRequest(); xhr.open("POST", '/'); xhr.setRequestHeader("X-CSRFToken", csrf.value); xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr); } }; xhr.send(new FormData(form)); form.classList.add('hidden'); } const header = document.querySelector('.js-sticky'); const headerPlaceholder = document.querySelector('.js-header-caption'); const updateHeaderPosition = () => { const scrollY = window.scrollY || window.pageYOffset; if (scrollY > header.offsetHeight) { header.classList.add('_fixed'); } else { header.classList.remove('_fixed'); } }; setTimeout(() => { updateHeaderPosition(); }, 200); window.addEventListener('scroll', updateHeaderPosition, true); const mainMenuDropDownButtons = document.querySelectorAll('.main_menu_button_dropdown') mainMenuDropDownButtons.forEach(elem => { let menuItem = elem.closest('.relative'); let dropdownPanel = menuItem.querySelector('.main_menu_panel_dropdown'); let rotatedIcon = elem.querySelector('.rotated_icon') let isDropdownOpen = false; elem.addEventListener('click', (event) => { isDropdownOpen = !isDropdownOpen; if (isDropdownOpen) { dropdownPanel.classList.remove('hidden'); elem.setAttribute('aria-expanded', 'true'); rotatedIcon.classList.remove('rotate-0'); rotatedIcon.classList.add('-rotate-180'); } else { dropdownPanel.classList.add('hidden'); elem.setAttribute('aria-expanded', 'false'); rotatedIcon.classList.remove('-rotate-180'); rotatedIcon.classList.add('rotate-0'); } }); document.addEventListener('click', (event) => { const target = event.target; if (!elem.contains(target) && !dropdownPanel.contains(target)) { isDropdownOpen = false; dropdownPanel.classList.add('hidden'); elem.setAttribute('aria-expanded', 'false'); rotatedIcon.classList.remove('-rotate-180'); rotatedIcon.classList.add('rotate-0'); } }); }); const mobileMenuDropDownButtons = document.querySelectorAll('.mobile_menu_button_dropdown') mobileMenuDropDownButtons.forEach(elem => { let menuItem = elem.closest('.relative'); let dropdownPanel = menuItem.querySelector('.mobile_menu_panel_dropdown'); let rotatedIcon = elem.querySelector('.rotated_icon') let isDropdownOpen = false; elem.addEventListener('click', (event) => { isDropdownOpen = !isDropdownOpen; if (isDropdownOpen) { dropdownPanel.classList.remove('hidden'); elem.setAttribute('aria-expanded', 'true'); rotatedIcon.classList.remove('rotate-0'); rotatedIcon.classList.add('-rotate-180'); } else { dropdownPanel.classList.add('hidden'); elem.setAttribute('aria-expanded', 'false'); rotatedIcon.classList.remove('-rotate-180'); rotatedIcon.classList.add('rotate-0'); } }); document.addEventListener('click', (event) => { const target = event.target; if (!elem.contains(target) && !dropdownPanel.contains(target)) { isDropdownOpen = false; dropdownPanel.classList.add('hidden'); elem.setAttribute('aria-expanded', 'false'); rotatedIcon.classList.remove('-rotate-180'); rotatedIcon.classList.add('rotate-0'); } }); }); const contactUsButtons = document.querySelectorAll('.contact-button'); const contactUsForm = document.querySelector('#contact-form'); contactUsButtons.forEach(elem => { elem.addEventListener('click', (event) => { event.preventDefault(); contactUsForm.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); }); document.addEventListener("DOMContentLoaded", function() { const testimonials = document.querySelectorAll('.testimonial'); let currentIndex = 0; let buttonPrev = document.getElementById("t-button-prev") let buttonNext = document.getElementById("t-button-next") function showTestimonial(index) { testimonials.forEach((testimonial, i) => { testimonial.style.display = i === index ? "flex" : "none"; }) } if (buttonPrev) { console.log('button prev is'); buttonPrev.addEventListener("click", function() { currentIndex = (currentIndex - 1 + testimonials.length) % testimonials.length; showTestimonial(currentIndex); }) } if (buttonNext) { console.log('button next is'); buttonNext.addEventListener("click", function() { currentIndex = (currentIndex + 1) % testimonials.length; showTestimonial(currentIndex); }) } showTestimonial(currentIndex); }); const contact_form_inputs = document.querySelectorAll('.required-input'); contact_form_inputs.forEach(el => { el.addEventListener('input', (event) => { const inputValue = el.value.trim(); if (inputValue.length === 0) { el.classList.add('border-2', 'border-rose-600'); } else { el.classList.remove('border-2', 'border-rose-600'); } }) });